1. Field of the Invention
This invention relates generally to serial transmission of datagrams. In particular, it relates to a method for reducing the amount of bandwidth utilized by datagrams.
2. Description of Related Art
A typical communications network is structured under the Open Systems Interconnection (OSI) model. The OSI model is an abstract description for computer network protocol design that divides network architecture into seven hierarchical layers: application (L7), presentation (L6), session (L5), transport (L4), network (L3), data-link (L2), and physical (L1). In the physical layer, data are transmitted over a physical link that often uses serial transmission.
Because serial links may only send one datagram at a time, data in a parallel format must first be converted into serial format before the data is sent. To accomplish this goal, data is broken up into a number of smaller portions, often referred to as datagrams. The parallel width of each datagram may be fixed, such that a predetermined amount of data is sent over the link at a particular time.
In order to properly decode the datagrams sent over the link, the receiver must be able to identify the start and stop of each datagram. Accordingly, each transmitter includes a delineation mechanism that allows the transmitter to mark the start and stop of each datagram in a way that the receiver understands. Some encoding schemes provide relatively simple mechanisms to delineate data across the serial link. For example, some schemes append a datagram header to uniquely identify and differentiate each datagram or include special character sequences to mark the start and end of a datagram. Based on the information in the header or the character sequences, the receiver may identify each piece of data sent over the link.
One example of an encoding scheme used for serial links is the 8B/10B protocol, which may be used for transmission of datagrams through optical fibers and shielded copper media. This scheme is used for all gigabit Ethernet options, except twisted-pair, and is also used in Fibre Channel, a gigabit-speed network technology primarily used for storage networking.
To implement the 8B/10B protocol, eight bits of data are converted into ten bits for transmission. Although use of the 8B/10B encoding algorithm adds 25% overhead to each character, 8B/10B encoding also provides several advantages. First, the 8B/10B protocol can be implemented by relatively simple transceivers at low cost. Second, the encoding scheme is well-balanced and reliable, having a substantially equal number of “one” and “zero” bits across any sequence. Third, the protocol promotes easier clock recovery to a high transition density and provides a significant error detection capability.
A typical datagram encoded using 8B/10B includes a first k-character sequence to mark the start of the datagram and a second k-character sequence to mark the end of the datagram. The datagram may also include a header, a sequence of characters used to uniquely identify each datagram. The assembly of headers may involve layer-by-layer encapsulation, a process in which the overall header is built from subfields corresponding to each Open System Interconnection (OSI) layer. Thus, a header may include data link, network, transport, session, and presentation layer subfields.
Therefore, in a typical 8B/10B system, a portion of the available bandwidth is used to delineate the datagram to a PDU size of a known length and to transmit datagram header information. The addition of characters indicating the start and end of each PDU adds further overhead to each datagram. To compound the problem, since most typical systems handle the parallelized serial data in 2-byte, 4-byte or, n-byte widths, character groups used to delineate are typically repeated across the channel in n-byte widths, thus consuming more bandwidth. Given the significant number of datagrams sent over a given serial link, minor inefficiencies in each datagram can combine to result in significant performance losses.
Accordingly, there is a need for a modified datagram that minimizes bandwidth usage when sent over a serial link, while still enabling reliable delineation. There is a further need for a mechanism that allows for reduction of bandwidth usage on a serial link by eliminating the need to send a full header with every datagram.
The preceding objects and advantages of the invention are illustrative of those that can be achieved by the various exemplary embodiments and are not intended to be exhaustive or limiting of the possible advantages which can be realized. Thus, these and other objects and advantages of the various exemplary embodiments will be apparent from the description herein or can be learned from practicing the various exemplary embodiments, both as embodied herein or as modified in view of any variation that may be apparent to those skilled in the art. Accordingly, the present invention resides in the novel methods, arrangements, combinations, and improvements herein shown and described in various exemplary embodiments.